home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / c / restracklib_0_2.lha / ResTrackLib / pools.c < prev    next >
C/C++ Source or Header  |  1994-07-31  |  2KB  |  95 lines

  1. /* opendevice.c */
  2.  
  3. #include <stdio.h>
  4. #include <exec/ports.h>
  5. #include <clib/exec_protos.h>
  6. #ifdef REGARGS
  7. #   include <pragmas/exec_pragmas.h>
  8. #endif
  9.  
  10. #include "restrack_intern.h"
  11.  
  12.  
  13. APTR CreatePool( unsigned long requirements, unsigned long puddleSize,
  14.     unsigned long threshSize );
  15. void DeletePool( APTR poolHeader );
  16. APTR AllocPooled( APTR poolHeader, unsigned long memSize );
  17. void FreePooled( APTR poolHeader, APTR memory, unsigned long memSize );
  18.  
  19. /*****************************************************************************
  20.  
  21.     NAME
  22.     __rtl_CreateMsgPort -- allocate memory
  23.  
  24.     SYNOPSIS
  25.     struct MsgPort * __rtl_CreateMsgPort (const char * file, int line);
  26.  
  27.     FUNCTION
  28.     Stub for CreateMsgPort().
  29.  
  30.     HISTORY
  31.     23. Jul 1994    Optimizer   created
  32.  
  33. ******************************************************************************/
  34.  
  35. struct MsgPort * __rtl_CreateMsgPort (const char * file, int line)
  36. {
  37.     struct MsgPort * mp;
  38.  
  39.     if ( (mp = CreateMsgPort ()) )
  40.     CHECK_ADD_RN(RTL_EXEC,RTLRT_MsgPort,mp,0)
  41.  
  42.     return (mp);
  43. } /* __rtl_CreateMsgPort */
  44.  
  45.  
  46. /*****************************************************************************
  47.  
  48.     NAME
  49.     __rtl_DeleteMsgPort
  50.  
  51.     SYNOPSIS
  52.     void __rtl_DeleteMsgPort( struct MemHeader *freeList, APTR memoryBlock,
  53.             ULONG byteSize, const char * file, int line );
  54.  
  55.     FUNCTION
  56.     Stub for FreeMem(). Frees a block of memory allocated by
  57.     __rlt_AllocMem().
  58.  
  59.     HISTORY
  60.     23. Jul 1994    Optimizer   created
  61.  
  62. ******************************************************************************/
  63.  
  64. void __rtl_DeleteMsgPort (struct MsgPort * mp, const char * file, int line)
  65. {
  66.     ResourceNode * node;
  67.  
  68.     if ((node = FindResourceNode1 (mp)) )
  69.     {
  70.     if (node->Resource != RTLRT_MsgPort)
  71.     {
  72.         fprintf (stderr, "ERROR: DeleteMsgPort() at %s:%d called for\n",
  73.             file, line);
  74.         PrintResourceNode (node);
  75.     }
  76.     else
  77.     {
  78.         DeleteMsgPort (mp);
  79.         RemoveResourceNode (node);
  80.     }
  81.     }
  82.     else
  83.     CHECK_RT_ERROR_OR_CALL(RTL_EXEC,DeleteMsgPort,"(%p)",mp, DeleteMsgPort(mp))
  84.  
  85. } /* __rlt_DeleteMsgPort */
  86.  
  87.  
  88. NRT_RET(struct MsgPort *,CreateMsgPort,(void),())
  89. NRT(DeleteMsgPort,(struct MsgPort * mp),(mp))
  90.  
  91.  
  92. /******************************************************************************
  93. *****  ENDE opendevice.c
  94. ******************************************************************************/
  95.